package com.linkgie.galaxyframework.persistence;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标注领域隔离；<br>
 * 
 * 将一个“持久化类（Class）”标注为具有领域隔离特性的类，被标注的持久化类的记录在存储是会自动按领域隔离保存；<br>
 * 
 * @author huanghaiquan
 *
 */
@Deprecated
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DomainIsolated {

	/**
	 * 隔离域提供者的名称；
	 * <p>
	 * 
	 * <p>
	 * 如果指定了名称，则加载名称对应的领域隔离性提供者 {@link PersistenceIsolationProvider} ，根据设置的隔离参数控制数据的读写；
	 * 
	 * <p>
	 * 如果未设置，则默认采用基于组织结构的隔离性提供者；
	 * 
	 * @return
	 */
	String provider() default "";

}
